1. Field of the Invention
The present invention relates to network technology and, more particularly, to improving flow control in networks by mitigating the effects of congested interfaces on a fabric.
2. Background of the Invention
Various techniques have been developed to address congestion in a network. For example, for the Internet, which operates using Ethernet and TCP/IP protocols, flow control is achieved at least in part through use of a packet drop flow control mechanism. That is, a sender simply sends packets out into the network; and if a receiver does not have the resources to receive the packet, the packet is dropped. Such a network might also utilize end-to-end flow control mechanisms. Such a flow control scheme, however, is not feasible for networks where assurance that data will reach its intended destination is a high priority. An example of one such network is a storage area network (“SAN”). A packet drop solution is often considered an unacceptable flow control option for storage traffic. Accordingly, other protocols have been developed in the context of SANs and other networks that promise “lossless”, or in real terms close to lossless, transport by using a link-level port to port scheme for lossless transport.
While effective in many ways, a link-level port to port scheme for lossless transport (whether the network is implemented using Fibre Channel (FC), Fibre Channel over Ethernet (FCoE), or another protocol) has the potential to make a network vulnerable to possibly serious flow control breakdowns when an end device or other device's ability to send messages signaling its availability to receive frames becomes impaired. (An end device may be a host/server or a storage device, for example.) Devices experiencing failed or impaired ability to send indications of availability or readiness to accept frames are referred to as “slow or no drain devices” for purposes of this disclosure. Even a single such malfunctioning end device or other device may cause serious disruptions to a network. This is because, in addition to slowing or stopping traffic to the slow or no drain device itself, such impairments can also impact data traffic flows to healthy devices. When one considers a real life network where typically the number of hosts and disks number in the tens or even hundreds of thousands, there will often be one or two hosts or disks that are slow or no drain at some point. The potentially widespread disruption to network flow control that may be caused by such devices is considered unacceptable in many networks.
It can be challenging to address the network flow control problems caused by slow or no-drain devices. It would be desirable to have more advanced flow control implementations to meet this challenge.